package com.example.jpademo.db.entity;

import lombok.Data;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 最优报价表
 */
@Data
@Entity
@Table(name = "bond_best_offer")
public class BondBestOffer implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    @Column(name = "Id", nullable = false)
    private String id;

    @Column(name = "company_id")
    private String companyId;

    @Column(name = "goods_id")
    private String goodsId;

    @Column(name = "goods_code")
    private String goodsCode;

    @Column(name = "short_name")
    private String shortName;

    @Column(name = "goods_term")
    private String goodsTerm;

    @Column(name = "goods_type")
    private String goodsType;

    @Column(name = "goods_level")
    private String goodsLevel;

    @Column(name = "profit_code")
    private String profitCode;

    @Column(name = "ofr_agent_code")
    private String ofrAgentCode;

    @Column(name = "ofr_price")
    private BigDecimal ofrPrice;

    @Column(name = "ofr_volume")
    private String ofrVolume;

    @Column(name = "ofr_flag_vip")
    private Boolean ofrFlagVip;

    @Column(name = "ofr_flag_bad")
    private Boolean ofrFlagBad;

    @Column(name = "ofr_flag_bargain")
    private String ofrFlagBargain;

    /**
     * ofr是否紧急报价
     */
    @Column(name = "ofr_flag_urgent")
    private Boolean ofrFlagUrgent;

    /**
     * 是否换券报价
     */
    @Column(name = "ofr_flag_exchange")
    private Boolean ofrFlagExchange;

    @Column(name = "bid_agent_code")
    private String bidAgentCode;

    @Column(name = "bid_price")
    private BigDecimal bidPrice;

    @Column(name = "bid_volume")
    private String bidVolume;

    @Column(name = "bid_flag_vip")
    private Boolean bidFlagVip;

    @Column(name = "bid_flag_bad")
    private Boolean bidFlagBad;

    @Column(name = "bid_flag_bargain")
    private String bidFlagBargain;

    /**
     * bid是否紧急报价
     */
    @Column(name = "bid_flag_urgent")
    private Boolean bidFlagUrgent;

    /**
     * 是否换券报价
     */
    @Column(name = "bid_flag_exchange")
    private Boolean bidFlagExchange;

    @Column(name = "status")
    private String status;

    @Column(name = "create_time")
    private Date createTime;

    @Column(name = "underwriter")
    private String underwriter;

    @Column(name = "bid_price_description")
    private String bidPriceDescription;

    @Column(name = "ofr_price_description")
    private String ofrPriceDescription;

    @Column(name = "underwriter_type")
    private String underwriterType;

    @Column(name = "option_type")
    private String optionType;

    @Column(name = "bid_offer_count")
    private Integer bidOfferCount;

    @Column(name = "ofr_offer_count")
    private Integer ofrOfferCount;

    @Column(name = "ofr_agent_id")
    private String ofrAgentId;

    @Column(name = "bid_agent_id")
    private String bidAgentId;

    @Column(name = "rate_type")
    private String rateType;

    @Column(name = "bid_offer_id")
    private String bidOfferId;

    @Column(name = "ofr_offer_id")
    private String ofrOfferId;

    @Column(name = "bid_before_price")
    private BigDecimal bidBeforePrice;

    @Column(name = "ofr_before_price")
    private BigDecimal ofrBeforePrice;

    @Column(name = "internally")
    private String internally;

    @Column(name = "bid_flag_relation")
    private String bidFlagRelation;

    @Column(name = "ofr_flag_relation")
    private String ofrFlagRelation;

    @Column(name = "ofr_quote_type")
    private String ofrQuoteType;

    @Column(name = "bid_quote_type")
    private String bidQuoteType;

    @Column(name = "bid_return_point")
    private BigDecimal bidReturnPoint;

    @Column(name = "ofr_return_point")
    private BigDecimal ofrReturnPoint;

    @Column(name = "bid_full_price")
    private BigDecimal bidFullPrice;

    @Column(name = "ofr_full_price")
    private BigDecimal ofrFullPrice;

    @Column(name = "bid_yield")
    private BigDecimal bidYield;

    @Column(name = "ofr_yield")
    private BigDecimal ofrYield;

    @Column(name = "bid_spread")
    private BigDecimal bidSpread;

    @Column(name = "ofr_spread")
    private BigDecimal ofrSpread;

    @Column(name = "bid_clear_speed")
    private String bidClearSpeed;

    @Column(name = "ofr_clear_speed")
    private String ofrClearSpeed;

    @Column(name = "bid_delivery_date")
    private Date bidDeliveryDate;

    @Column(name = "ofr_delivery_date")
    private Date ofrDeliveryDate;

    @Column(name = "bid_exercise")
    private String bidExercise;

    @Column(name = "ofr_exercise")
    private String ofrExercise;

    @Column(name = "bid_rebate")
    private String bidRebate;

    @Column(name = "ofr_rebate")
    private String ofrRebate;

    @Column(name = "bid_offer_num")
    private Integer bidOfferNum;

    @Column(name = "ofr_offer_num")
    private Integer ofrOfferNum;

    @Column(name = "ofr_net_price")
    private BigDecimal ofrNetPrice;

    @Column(name = "bid_net_price")
    private BigDecimal bidNetPrice;

    @Column(name = "internally_bid_price")
    private BigDecimal internallyBidPrice;

    @Column(name = "internally_ofr_price")
    private BigDecimal internallyOfrPrice;

    @Column(name = "internally_bid_return_point")
    private BigDecimal internallyBidReturnPoint;

    @Column(name = "internally_ofr_return_point")
    private BigDecimal internallyOfrReturnPoint;

    @Column(name = "internally_bid_rebate")
    private String internallyBidRebate;

    @Column(name = "internally_ofr_rebate")
    private String internallyOfrRebate;

    @Column(name = "internally_bid_offer_id")
    private String internallyBidOfferId;

    @Column(name = "internally_ofr_offer_id")
    private String internallyOfrOfferId;

    @Column(name = "bond_key")
    private String bondKey;

    @Column(name = "listed_market")
    private String listedMarket;

    @Column(name = "bond_key_listed_market")
    private String bondKeyListedMarket;

    /**
     * 债券类型,BCO/BNC/ABS/NCD/BBE
     */
    @Column(name = "bond_category")
    private String bondCategory;

    @Column(name = "ofr_broker_id")
    private String ofrBrokerId;

    @Column(name = "bid_broker_id")
    private String bidBrokerId;

    @Column(name = "mkt_type")
    private String mktType;

    @Column(name = "deal_time")
    private Date dealTime;

    @Column(name = "deal_price")
    private BigDecimal dealPrice;

    @Column(name = "deal_type")
    private String dealType;

    @Column(name = "deal_volume")
    private BigDecimal dealVolume;

    @Column(name = "bid_volume_total")
    private BigDecimal bidVolumeTotal;

    @Column(name = "ofr_volume_total")
    private BigDecimal ofrVolumeTotal;

    @Column(name = "bid_description")
    private String bidDescription;

    @Column(name = "ofr_description")
    private String ofrDescription;

    /**
     * 创建时间(精确到毫秒)
     */
    @Column(name = "createtime")
    private Date createtime;

    /**
     * 修改时间(精确到毫秒)
     */
    @Column(name = "modifytime")
    private Date modifytime;

    /**
     * 推送MQM id,数字组成的字符串
     */
    @Column(name = "push_bid_id")
    private String pushBidId;

    /**
     * 推送MQM id,数字组成的字符串
     */
    @Column(name = "push_ofr_id")
    private String pushOfrId;

}
